Setting up and configuring (or provisioning) a computer or network service (e.g. a web site, a web service, etc.) can be fairly difficult. Generally a computer or network service administrator must decide: what service is to be provided, what operating system or operating environment (e.g., Windows, Linux, .Net, Java, Perl, PHP (PHP: Hypertext Preprocessor), etc.), what frameworks or support applications will provide the structure of the service (e.g., Internet Information Services (IIS), Apache, MySQL (My Structured Query Language), etc.), what hardware is to be used, etc. In addition the decided or selected components frequently need to be configured.
In some cases, an administrator may find it useful or convenient to see what someone else in a similar situation selected or decided. These computer or network service configurations may be represented in a service template or blueprint, as described below.